package com.ruicar.afs.cloud.afscase.message.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruicar.afs.cloud.admin.api.dto.UserSimpleInfoDto;
import com.ruicar.afs.cloud.afscase.message.entity.CaseNoticeInfo;
import com.ruicar.afs.cloud.common.modules.afscorebusiness.enums.ReadEnum;

import java.util.HashSet;
import java.util.List;

/**
 * <p>Description: </p>
 * 消息通知处理类
 * @Author ma_xueyu
 * @Date 2020年8月21日
 */
public interface CaseNoticeInfoService extends IService<CaseNoticeInfo> {

    /**
     * 批量更新消息通知
     * @param caseNoticeInfoList 消息通知列表
     * @param receivedByList 接收人列表
     * @param readEnum 是否已读
     * */
    void saveOrUpdateNoticeInfoBatch(List<CaseNoticeInfo> caseNoticeInfoList, HashSet<UserSimpleInfoDto> receivedByList, ReadEnum readEnum);

    /**
     * 更新过期的消息通知的只读状态
     * @param sysNoticeTypeEnum 消息类型
     * @param readEnum 是否已读
     * */
    void updateOutdatedNoticeRead(Enum sysNoticeTypeEnum,Enum readEnum);
}
